/**
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * $Id$ Mueble.java
 * Universidad de los Andes (Bogotá - Colombia)
 * Departamento de Ingeniería de Sistemas y Computación
 * Licenciado bajo el esquema Academic Free License version 2.1
 *
 * Ejercicio: Muebles los Alpes
 * Autor: Camilo Alvarez
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */
package com.losalpes.catalogo.entities;

import java.io.Serializable;

/**
 * Clase que modela un mueble dentro del sistema.
 * @author Camilo Alvarez
 */
public class Mueble implements Serializable{

    // ------------------------------------------
    // Atributos
    // ------------------------------------------

    /**
     * Referencia que identifica el modelor del mueble en el sistema.
     */
    private String referencia;

    /**
     * Nombre del modelo del mueble.
     */
    private String nombre;

    /**
     * Descripción del modelo del mueble.
     */
    private String descripcion;

    /**
     * Tipo del mueble.
     */
    private TipoMueble tipo;

    /**
     * Material en el que esta construido el mueble.
     */
    private String material;

    /**
     * Alto del mueble.
     */
    private double alto;

    /**
     * Ancho del mueble.
     */
    private double ancho;

    /**
     * Medida de la profundidad del mueble.
     */
    private double profundidad;

    /**
     * Color del mueble.
     */
    private String color;

    /**
     * Peso del mueble.
     */
    private double peso;

    private int cantidad;

    private int precio;
    // ------------------------------------------
    // Constructores
    // ------------------------------------------

    /**
     * Constructor por defecto de la clase.
     */
    public Mueble() {
    }

    /**
    * Constructor de la clase. Inicializa los atributos con los valores que ingresan por parametro.
    * @param referencia
    * @param nombre
    * @param descripcion
    * @param tipo
    */
    public Mueble(String referencia, String nombre, String descripcion, TipoMueble tipo) {
        this.referencia = referencia;
        this.nombre = nombre;
        this.descripcion = descripcion;
        this.tipo = tipo;
    }

    // ------------------------------------------
    // Métodos
    // ------------------------------------------

    public double getAlto() {
        return alto;
    }

    public void setAlto(double alto) {
        this.alto = alto;
    }

    public double getAncho() {
        return ancho;
    }

    public void setAncho(double ancho) {
        this.ancho = ancho;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }


    public String getMaterial() {
        return material;
    }

    public void setMaterial(String material) {
        this.material = material;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public double getPeso() {
        return peso;
    }

    public void setPeso(double peso) {
        this.peso = peso;
    }

    public double getProfundidad() {
        return profundidad;
    }

    public void setProfundidad(double profundidad) {
        this.profundidad = profundidad;
    }

    public String getReferencia() {
        return referencia;
    }

    public void setReferencia(String referencia) {
        this.referencia = referencia;
    }

    public TipoMueble getTipo() {
        return tipo;
    }

    public void setTipo(TipoMueble tipo) {
        this.tipo = tipo;
    }

    public int getCantidad() {
        return cantidad;
    }

    public void setCantidad(int cantidad) {
        this.cantidad = cantidad;
    }

    public int getPrecio() {
        return precio;
    }

    public void setPrecio(int precio) {
        this.precio = precio;
    }

    
}
